/*
int
parse 'five five' 25
parse 'five six' 30
parse 'six five' 30
parse 'six six' 36
noparse 'five seven' 'Word:*:0' 11
*/

# Bound literals

# XXX obviously "expected x.129 at column 10" was nonsense!
# but "expected Word:*:0 at column 11" isn't much better

{
#include <ctype.h>
}

P ← a:Number b:Number { a * b }

Number ← "five":Word { 5 } / "six":Word { 6 }

Word :: ref_t ← w:Letter+ " "* -> w

Letter ← c:. &{ isalpha(ref_0(c)) } → { ref() }
